﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;

namespace PdfLibrary
{
    public interface IPdfFont
    {
        [Required]
        string Type { get; }
        [Required]
        string SubType { get; }
        [Required]
        string BaseFont { get; }
        [Required]
        IPdfObject Encoding { get; }
        int FirstChar { get; }
        int LastChar { get; }
        IPdfFontDescriptor FontDescriptor { get; }
        PdfAutoArray Widths { get; }
        // name or dict Encoding { get; }
    }

    public interface IPdfFontDescriptor
    {
        [Required]
        string Type { get; }
        [Required]
        string FontName { get; }
        [Required]
        int Flags { get; }
        //[Required]
        PdfRectangle FontBBox { get; }
        [Required]
        int ItalicAngle { get; }
        //[Required]
        int Ascent { get; }
        //[Required]
        int Descent { get; }
        //[Required]
        int CapHeight { get; }
        int XHeight { get; }
        int StemV { get; }
        int StemH { get; }
        int AvgWidth { get; }
        int MaxWidth { get; }
        PdfStream FontFile2 { get; }
    }
}